# -*- python -*-
# ex: set syntax=python:

# Copyright (c) 2012 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# This is an list of dictionaries to describe slaves.
# This list is intentionally flat to be easy to filter arbitrarily.

slaves = [
### Sample
  #{
    # Chromium, TryServer, etc.
    #'master': string,

    # Builder that this slave connects to.
    #'builder': string,

    # (Optional) Host name of the slave.
    #'hostname': string,

    # (Optional) Slave name in buildbot (not the builder display name!),
    # Defaults to hostname if set.
    #'slavename': string,

    # (Optional) Specific part of the OS type. 'xp', 'vista', 'jaunty',
    # 'win7', etc.
    #'os': string,

    # (Optional) VM host if a vm.
    #'vm_host': string,

    # (Optional) VM datastore if a vm.
    #'vm_host_datastore': number,

    # (Optional) Random notes.
    #'notes': string,
  #},
  {
    'master': 'V8',
    'builder': ['V8 Linux - builder',
                'V8 Linux - debug builder'],
    'hostname': 'vm362-m3',
    'os': 'linux',
    'version': 'precise',
    'bits': '64',
  },
  {
    'master': 'V8',
    'builder': ['V8 Linux - nosnap builder',
                'V8 Linux - nosnap debug builder',                
                'V8 Linux - vtunejit'],
    'hostname': 'vm370-m3',
    'os': 'linux',
    'version': 'precise',
    'bits': '64',
  },
  {
    'master': 'V8',
    'builder': ['V8 Linux64 - builder',
                'V8 Linux64 - debug builder',
                'V8 Linux64 - custom snapshot - debug builder'],
    'hostname': 'vm355-m3',
    'os': 'linux',
    'version': 'precise',
    'bits': '64',
  },
  {
    'master': 'V8',
    'builder': ['V8 Linux - shared',
                'V8 Linux - mipsel - sim - builder',
                'V8 Linux - mips64el - sim - builder'],
    'hostname': 'vm360-m3',
    'os': 'linux',
    'version': 'precise',
    'bits': '64',
  },
  {
    'master': 'V8',
    'builder': ['V8 Android Arm - builder',
                'V8 Android Arm64 - builder'],
    'hostname': 'vm361-m3',
    'os': 'linux',
    'version': 'precise',
    'bits': '64',
  },
  {
    'master': 'V8',
    'builder': ['V8 Arm - builder',
                'V8 Arm - debug builder',
                'V8 Mips - builder',
                'V8 Linux - x87 - nosnap - debug builder'],
    'hostname': 'vm358-m3',
    'os': 'linux',
    'version': 'trusty',
    'bits': '64',
  },
  {
    # Note: 'vm363-m3' has special dependencies for GCMole installed.
    'master': 'V8',
    'builder': 'V8 Linux - gcmole',
    'hostname': 'vm363-m3', # Fast VM.
    'os': 'linux',
    'version': 'precise',
    'bits': '64',
  },
  {
    'master': 'V8',
    'builder': ['V8 Linux - ppc - sim', 'V8 Linux - ppc64 - sim'],
    'hostname': 'vm80-m3', # Fast VM.
    'os': 'linux',
    'version': 'precise',
    'bits': '64',
  },
  {
    'master': 'V8',
    'builder': ['V8 Linux - arm - sim'],
    'hostname': 'vm366-m3',
    'os': 'linux',
    'version': 'precise',
    'bits': '64',
  },
  {
    'master': 'V8',
    'builder': 'V8 Linux - arm - sim - debug',
    'hostname': 'vm184-m3', # Fast VM.
    'os': 'linux',
    'version': 'precise',
    'bits': '64',
  },
  {
    'master': 'V8',
    'builder': 'V8 Linux - arm64 - sim',
    'hostname': 'vm351-m3', # Fast VM.
    'os': 'linux',
    'version': 'precise',
    'bits': '64',
  },
  {
    'master': 'V8',
    'builder': 'V8 Linux - arm64 - sim - debug',
    'hostname': 'vm200-m3', # Fast VM.
    'os': 'linux',
    'version': 'precise',
    'bits': '64',
  },
  {
    'master': 'V8',
    'builder': 'V8 Linux - arm64 - sim - nosnap - debug - 1',
    'hostname': 'vm352-m3', # Fast VM.
    'os': 'linux',
    'version': 'precise',
    'bits': '64',
  },
  {
    'master': 'V8',
    'builder': 'V8 Linux - arm64 - sim - nosnap - debug - 2',
    'hostname': 'vm353-m3', # Fast VM.
    'os': 'linux',
    'version': 'precise',
    'bits': '64',
  },
  {
    'master': 'V8',
    'builder': 'V8 Linux - arm64 - sim - gc stress',
    'hostname': 'vm354-m3', # Fast VM.
    'os': 'linux',
    'version': 'precise',
    'bits': '64',
  },
  {
    'master': 'V8',
    'builder': ['V8 Linux64 ASAN',
                'V8 Linux64 TSAN',
                'V8 Linux gcc 4.8',
                'V8 Linux64 ASAN - debug builder'],
    'hostname': 'vm199-m3', # Fast VM.
    'os': 'linux',
    'version': 'trusty',
    'bits': '64',
  },
  {
    'master': 'V8',
    'builder': ['V8 Linux - arm64 - sim - MSAN'],
    'hostname': 'slave30-c3',
    'os': 'linux',
    'version': 'precise',
    'bits': '64',
  },
  {
    'master': 'V8',
    'builder': 'V8 Mac GC Stress',
    'hostname': 'vm627-m3',
    'os': 'mac',
    'version': '10.9.5',
    'bits': '64',
  },
  {
    'master': 'V8',
    'builder': 'V8 Mac64 ASAN',
    'hostname': 'vm639-m3',
    'os': 'mac',
    'version': '10.9.5',
    'bits': '64',
  },
  {
    'master': 'V8',
    'builder': ['V8 Arm',
                'V8 Arm - debug - 1',
                'V8 Arm - debug - 2',
                'V8 Arm GC Stress'],
    'hostname': 'build12-a3',
    'os': 'linux',
    'version': 'trusty',
    'bits': '32',
  },
  {
    'master': 'V8',
    'builder': ['V8 Arm',
                'V8 Arm - debug - 1',
                'V8 Arm - debug - 2',
                'V8 Arm GC Stress'],
    'hostname': 'build21-a3',
    'os': 'linux',
    'version': 'trusty',
    'bits': '32',
  },
  {
    'master': 'V8',
    'builder': ['V8 Mips - big endian - nosnap - 1'],
    'hostname': 'build28-a3',
  },
  {
    'master': 'V8',
    'builder': ['V8 Mips - big endian - nosnap - 2'],
    'hostname': 'build29-a3',
  },
  # FYI builders.
  {
    # Note: vm349 has valgrind installed for memcheck.
    'master': 'V8',
    'builder': ['V8 Linux - memcheck',
                'V8 Linux - x87 - nosnap - debug'],
    'hostname': 'vm349-m3',
    'os': 'linux',
    'version': 'precise',
    'bits': '32',
  },
  {
    'master': 'V8',
    'builder': ['V8 Linux - predictable',
                'V8 Linux - noi18n - debug',
                'V8 Linux - interpreted regexp'],
    'hostname': 'vm378-m3',
    'os': 'linux',
    'version': 'precise',
    'bits': '64',
  },
  {
    'master': 'V8',
    'builder': ['V8 Linux - arm - sim - novfp3',
                'V8 Linux - arm - sim - debug - novfp3',
                'V8 Random Deopt Fuzzer - debug'],
    'hostname': 'vm374-m3',
    'os': 'linux',
    'version': 'precise',
    'bits': '64',
  },
]

LINUX32_TESTERS = [
  'V8 Linux - presubmit',
  'V8 Linux',
  'V8 Linux - nosse3',
  'V8 Linux - nosse4',
  'V8 Linux - nosnap',
  'V8 Linux - deadcode',
  'V8 Linux - isolates',
  'V8 Linux - debug',
  'V8 Linux - debug - nosse3',
  'V8 Linux - debug - nosse4',
  'V8 Linux - debug - isolates',
  'V8 Linux - nosnap - debug - 1',
  'V8 Linux - nosnap - debug - 2',
  'V8 Linux - test262 - debug',
  'V8 Linux - test262-es6 - debug',
  'V8 Deopt Fuzzer',
  'V8 GC Stress - 1',
  'V8 GC Stress - 2',
  'V8 GC Stress - 3',
  'V8 Linux - mipsel - sim',
  'V8 Linux - debug - code serializer',
  'V8 Linux - debug - greedy allocator',
]

LINUX64_TESTERS = [
  'V8 Linux64',
  'V8 Linux64 - debug',
  'V8 Linux64 - custom snapshot - debug',
  'V8 Linux64 - debug - greedy allocator',
  'V8 Linux64 GC Stress - custom snapshot',
  'V8 Linux - full debug',
  'V8 Fuzzer',
]

for vm in [110, 129, 180, 181, 182, 348, 350, 357, 364, 365]:
  slaves.append({
    'master': 'V8',
    'builder': LINUX32_TESTERS,
    'hostname': 'vm%d-m3' % vm,
    'os': 'linux',
    'version': 'precise',
    'bits': '32',
  })

for vm in [335, 368, 371]:
  slaves.append({
    'master': 'V8',
    'builder': LINUX64_TESTERS + LINUX32_TESTERS,
    'hostname': 'vm%d-m3' % vm,
    'os': 'linux',
    'version': 'precise',
    'bits': '64',
  })

for vm in [3, 4, 5, 26, 27, 28, 29]:
  slaves.append({
    'master': 'V8',
    'builder': LINUX64_TESTERS + LINUX32_TESTERS,
    'hostname': 'slave%d-c3' % vm,
    'os': 'linux',
    'version': 'precise',
    'bits': '64',
  })

for bot in [6, 7, 10]:
  slaves.append({
    'master': 'V8',
    'builder': [
      'V8 Linux - debug - avx2',
      'V8 Linux64 - avx2',
      'V8 Linux64 - debug - avx2',
    ],
    'hostname': 'build%d-m3' % bot,
    'os': 'linux',
    'version': 'trusty',
    'bits': '64',
  })

for vm in [59, 218, 225, 244]:
  slaves.append({
    'master': 'V8',
    'builder': [
      'V8 Win32 - builder',
      'V8 Win32 - debug builder',
      'V8 Win32 - nosnap - shared',
      'V8 Win64',
      'V8 Win64 - debug',
    ],
    'hostname': 'vm%d-m3' % vm,
    'os': 'win',
    'version': 'win7',
    'bits': '64',
  })

for vm in [115, 119, 121]:
  slaves.append({
    'master': 'V8',
    'builder': [
      'V8 Win32 - 1',
      'V8 Win32 - 2',
      'V8 Win32 - debug - 1',
      'V8 Win32 - debug - 2',
      'V8 Win32 - debug - 3',
    ],
    'hostname': 'vm%d-m3' % vm,
    'os': 'win',
    'version': 'xp',
    'bits': '32',
  })

for vm in [631, 632, 633]:
  slaves.append({
    'master': 'V8',
    'builder': [
      'V8 Mac',
      'V8 Mac - debug',
      'V8 Mac64',
      'V8 Mac64 - debug',
      'V8 Mac64 - xcode',
    ],
    'hostname': 'vm%d-m3' % vm,
    'os': 'mac',
    'version': '10.6',
    'bits': '64',
  })
